﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using AccesoDatos.Manejador;
using AccesoDatos.Objetos;
using Conexion;
using System.Windows.Forms;

/*Lista de los empleados que no tienen alguna incapacidad en curso 
 * 
 
 */
namespace Autorizacion_facturas_caja
{
    public partial class frmIncapacidades_ListaSin : Form
    {
        Manejador_Empleado_Captura Mane = new Manejador_Empleado_Captura();
        Manejador_Incapacidades Man = new Manejador_Incapacidades();
        objIncapacidades objInc = new objIncapacidades();
        objRH objR = new objRH();
        public frmIncapacidades_ListaSin()
        {
            InitializeComponent();
            ObtieneDatosCombo();

          //  LlenarDatagrid();
            ToolTip1();
        }
        
        #region FUNCIONES
        private void ObtieneDatosCombo()
        {
            //Obtiene los datos de la tabla cat_sucursales al combo de sucursales
            cmbSucursal.DataSource = Mane.ObtieneSucursales();
            cmbSucursal.ValueMember = "SucId";
            cmbSucursal.DisplayMember = "Nombre";
        }
        private void LlenarDatagrid() 
        {
            obtenerDatos();
            dataGridView1.DataSource = Man.ListaSinIncapacitacion(objR.Buscar, objR.SucId);
            propiedadesColumnas();
        }
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            LlenarDatagrid();
        }
        private void obtenerDatos() {
            objR.Buscar = txtEmpleado.Text.Trim();
            objR.Nombre_Sucursal = cmbSucursal.Text;
            objR.SucId = cmbSucursal.SelectedValue.ToString();

        }

        private void propiedadesColumnas()
        {
            try
            {
                //Quita la primera Columna
                this.dataGridView1.RowHeadersVisible = false;

                //Oculta las columnas
                this.dataGridView1.Columns["id_empleado"].Visible = false;
                this.dataGridView1.Columns["id_sucursal"].Visible = false;
                this.dataGridView1.Columns["id_jefe"].Visible = false;
                this.dataGridView1.Columns["nombre"].Visible = false;
                this.dataGridView1.Columns["apellidos"].Visible = false;
                this.dataGridView1.Columns["estatus"].Visible = false;
                this.dataGridView1.Columns["cuenta_banco"].Visible = false;
                this.dataGridView1.Columns["empresa"].Visible = false;

                //Orden columnas
                this.dataGridView1.Columns["Nombre_apellidos"].DisplayIndex = 0;
                this.dataGridView1.Columns["departamento"].DisplayIndex = 2;
                this.dataGridView1.Columns["puesto"].DisplayIndex = 3;
                this.dataGridView1.Columns["fecha_ingreso"].DisplayIndex = 4;

                //Renombra
                this.dataGridView1.Columns["Nombre_apellidos"].HeaderText = "EMPLEADO";
                this.dataGridView1.Columns["departamento"].HeaderText = "DEPARTAMENTO";
                this.dataGridView1.Columns["puesto"].HeaderText = "PUESTO";
                this.dataGridView1.Columns["fecha_ingreso"].HeaderText = "FECHA INGRESO";

                //Formato
                this.dataGridView1.Columns["fecha_ingreso"].DefaultCellStyle.Format = "d";

                //Alinea el contenido de la celda

                this.dataGridView1.Columns["Nombre_apellidos"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                this.dataGridView1.Columns["departamento"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                this.dataGridView1.Columns["puesto"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                this.dataGridView1.Columns["fecha_ingreso"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;

                this.dataGridView1.Columns["fecha_ingreso"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                /* this.dataGridView1.Columns["departamento"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                 this.dataGridView1.Columns["puesto"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
             */
            }
            catch { }
        }

        private void ToolTip1()
        {
            ToolTip toolTip1 = new ToolTip();
            toolTip1.ShowAlways = true;
            toolTip1.SetToolTip(this.btnBuscar, "BUSCAR");
            toolTip1.SetToolTip(this.button1, "REGRESAR");

        }
        #endregion 
       
        #region Botones
        private void button1_Click(object sender, EventArgs e)
            {
                Close();
            }

        #endregion
       
        #region eventos
            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                if (e.ColumnIndex != 0 && e.RowIndex >= 0)
                {
                    if (MessageBox.Show("CAPTURAR INCAPACIDAD", "AVISO", MessageBoxButtons.OKCancel) == DialogResult.OK)
                        try
                        {
                            objR.Id_Empleado = Convert.ToInt32(dataGridView1[0, e.RowIndex].Value);
                            objR.SucId = dataGridView1[1, e.RowIndex].Value.ToString() ;
                            objR.Puesto = dataGridView1[5, e.RowIndex].Value.ToString();
                            objR.Departamento = dataGridView1[7, e.RowIndex].Value.ToString();
                            objR.Nombre_completo = dataGridView1[11, e.RowIndex].Value.ToString();
                            frmIncapacidades_Captura frm = new frmIncapacidades_Captura(objR, objInc, 1);
                            frm.ShowDialog();
                            dataGridView1.DataSource = Man.ListaSinIncapacitacion(objR.Buscar, objR.SucId);
                            propiedadesColumnas();
                        }
                        catch { MessageBox.Show("ERROR DE CONEXIÓN", "ALERTA"); }
                }
            }
            private void cmbSucursal_SelectedIndexChanged(object sender, EventArgs e)
            {
                LlenarDatagrid();
            }
            private void txtEmpleado_TextChanged(object sender, EventArgs e)
            {
                LlenarDatagrid();
            }
        #endregion

    }
}
